package ${packagePrefix}.${domainObjectName?lower_case}.client.api.excel;

import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;

<#if generateComments>
/**
 * ${domainObjectName}Excel服务接口
 * <p>
 * 定义Excel导入导出相关的接口方法
 * </p>
 *
 * @author Auto Generated
 */
</#if>
public interface ${domainObjectName}ExcelServiceI {

    <#if generateComments>
    /**
     * 导出Excel导入模板
     *
     * @param response HTTP响应对象，用于写入Excel文件
     * @throws IOException 导出过程中可能发生的IO异常
     */
    </#if>
    void exportTemplate(HttpServletResponse response) throws IOException;

    <#if generateComments>
    /**
     * 导入Excel数据
     *
     * @param file 上传的Excel文件
     */
    </#if>
    void importData(MultipartFile file);

    <#if generateComments>
    /**
     * 导出所有数据到Excel
     *
     * @param response HTTP响应对象，用于写入Excel文件
     * @throws IOException 导出过程中可能发生的IO异常
     */
    </#if>
    void exportData(HttpServletResponse response) throws IOException;

    <#if generateComments>
    /**
     * 根据ID列表导出数据到Excel
     *
     * @param response HTTP响应对象，用于写入Excel文件
     * @param ids      要导出的数据ID列表
     * @throws IOException 导出过程中可能发生的IO异常
     */
    </#if>
    void exportDataByIds(HttpServletResponse response, List<Long> ids) throws IOException;
} 